/*LIS Cross-section Data center in Luxembourg*/

/*email: usersupport@lisdatacenter.org*/

/*LIS Self Teaching Package 2022*/
/*Part II: Gender, employment, and wages*/
/*SAS version*/

/*last change of this version of the syntax: 15-01-2022*/


/*Exercise 2: Stacking data, employment rates by gender*/

OPTIONS NONOTES NOSOURCE NOFMTERR NODATE NONUMBER NOCENTER LABEL LS=MAX PS=MAX ;
TITLE "";

%MACRO stack ;
	%LET i = 1 ;
	%DO %UNTIL (&i > 3) ;
		%LET ccyy = %SCAN(&all,&i) ;
		DATA &ccyy.h ;
 	   SET &&&ccyy.h (KEEP=hid own) ;
 	  RUN ;
		PROC SORT DATA=&ccyy.h ;
		  BY hid ;
		RUN ;
		DATA &ccyy.p ;
		 SET &&&ccyy.p (KEEP=hid dname pwgt ppopwgt relation partner ageyoch age sex immigr educ educ_c emp status1 ptime1 hwage1) ; 
		RUN ;
		PROC SORT DATA=&ccyy.p ;
		  BY hid ;
		RUN ;
		DATA &ccyy ;
	 	 MERGE &ccyy.h &ccyy.p ;
			BY hid ;
				IF ((25 <= age <= 54) AND (relation LE 2200)) ; 
				IF (100 <= own <= 199) THEN homeowner = 1;
				IF (200 <= own <= 299) THEN homeowner = 0;
		RUN ;

		%IF %EVAL(&i) = 1 %THEN 
			%DO ;
				DATA current ;
				 SET &ccyy ;
				RUN ;
			%END ;
		%ELSE 
			%DO ;
				PROC APPEND BASE=current DATA=&ccyy FORCE ;
				RUN ;
			%END ;

		%LET i = %EVAL(&i+1) ;
	%END ;

	PROC SORT DATA=current ;
	  WHERE sex = 2;
	  BY dname ;
	RUN ;
	PROC FREQ DATA=current  ;
	  TABLES dname*emp / NOFREQ NOCOL NOCUM ;
	  WEIGHT ppopwgt   ;
	RUN ;
	PROC FREQ DATA=current  ;
	  WHERE emp = 1 & sex = 2;	
	  TABLES dname*ptime1 / NOFREQ NOCOL NOCUM ;
	  WEIGHT ppopwgt   ;
	RUN ;
%MEND stack ;
%LET all = us04 be04 gr04 ;
%stack
